import java.io.IOException;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: GaoBo
 * Date: 2021-04-06
 * Time: 19:29
 */
public class TestDemo {


    /**
     * 处理循环读入的问题！！！
     * 布置一个类似的作业！！！
     * OJ  有多组输入。
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //hasNextInt() 这是一个方法，来判断是否有下一个整数
        while (scanner.hasNextInt()) {
            int a = scanner.nextInt();
            System.out.println("每输入1次，就执行1次："+a);
        }

    }

    public static void main16(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("年龄：");
        int age = scanner.nextInt();
        System.out.println(age);

        System.out.println("价格：");
        double price = scanner.nextDouble();
        System.out.println(price);

        System.out.println("请输入姓名：");
        String name = scanner.nextLine();
        System.out.println(name);

        //建议：请把输入字符串放在最前面  bug

        //了解：char

    }


    /**
     * 1、啰嗦
     * 2、只能读一个字符
     * @param args
     */
    public static void main15(String[] args) {
        System.out.print("Enter a Char:");
        char i = 0;//异常(错误) 专门有一个课件
        try {
            //System.in 键盘
            i = (char) System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("your char is :"+i);
    }

    public static void main14(String[] args) {
        System.out.println("输出且换行！");
        System.out.print("输出不换行！");
        System.out.printf("%d\n",10);
    }


    public static void main13(String[] args) {
        int i = 0;
        /*while (i > 0) {
            System.out.println("haha!");
            i++;
        }*/
        do {
            System.out.println("不管怎么样 ，肯定会执行一次循环体!");
        }while (i > 0);
    }

    /**
     * 求阶乘和的代码   n! ===> 1!+2!+....+n!
     * @param args
     */
    public static void main12(String[] args) {
        int num = 5;
        int sum = 0;
        for (int i = 1; i <= num; i++) {
            int fac = 1;
            //以下循环里面求的是j的阶乘
            for (int j = 1; j <= i; j++) {
                fac *= j;
            }
            sum += fac;
        }
        System.out.println(sum);
    }


    public static void main11(String[] args) {
//        while (true) {
//            System.out.println("这是一个while死循环");
//        }

        for( int i = 1 ;   ;  i++ ) {
            System.out.println("这是一个for死循环");
        }
    }

    public static void main10(String[] args) {

        for (int i = 1; i <= 10 ; i++) {
            System.out.println(i);
        }
        System.out.println("=================");

        int j = 1;
        while (j <= 10) {
            System.out.println(j);
            j++;
        }

    }


    /**
     * 求 1-100之间 既能被3整除 也能被5整除的数字
     * break  或者  continue
     * @param args
     */
    public static void main9(String[] args) {
       int i =1;
       while (i <= 100) {
            if(i % 15 != 0) {
                i++;
                continue;
            }
            System.out.println(i);
            i++;
       }
    }
    public static void main8(String[] args) {
        int i = 1;
        while (i <= 4) {
            if(i == 2) {
                continue;
            }
            System.out.print(i+" ");
            i++;
        }
    }


    public static void main7(String[] args) {
        int num = 1;
        while (num <= 10)
            System.out.println(num);
        //只会执行while语句下面的第一条语句！！  以后写代码 不管你是几条语句 必须给我加大括号！！
            num++;
    }

    /**
     * 5!和   1！+2！+3！+4！+5！=？
     * @param args
     */
    public static void main6(String[] args) {
        int num = 5;
        int j = 1;
        int sum = 0;
        while (j <= num) {
            int i = 1;
            int fac = 1;
            while (i <= j) {
                fac = fac*i;
                i = i+1;
            }
            sum = sum + fac;
            j++;
        }
        System.out.println(sum);
    }

    public static void main5(String[] args) {
        int i = 1;
        int fac = 1;
        while (i <= 5) {
            fac = fac*i;
            i = i+1;
        }
        System.out.println(fac);
    }

    public static void main4(String[] args) {
        int i = 2;
        int sumEve = 0;//偶数
        int sumOdd = 0;//奇数
        while (i <= 100) {
            sumEve += i;
            i+=2;
        }
        System.out.println("偶数："+sumEve);
        i = 1;
        while (i <= 100) {
            sumOdd += i;
            i+=2;
        }
        System.out.println("奇数："+sumOdd);
    }

    public static void main3(String[] args) {
        int i = 1;//
        int sum = 0;
        while (i <= 100) {//
            sum = sum+i;
            i++;//  死循环   步进
        }
        System.out.println(sum);
    }

    public static void main2(String[] args) {
        int x = 1;
        int y = 2;
        switch(x) {
            case 1:
                switch(y) {
                    case 2:
                        System.out.println("hehe");
                        //break;
                }
                break;
            case 2:
                System.out.println("haha");
                break;
        }
    }
    /**
     * 1、break:每个case后面都不要去省略
     * 2、和if的区别   switch 中不能后写一个复杂的表达式
     * 3、面试问题： 不能做switch参数的数据类型有什么？
     * 1、long  2、float  3、double 4、boolean
     *
     * 枚举 String  也是可以作为switch的参数的
     * @param args
     */
    public static void main1(String[] args) {
        String a = "gaobo";
        switch (a) {
            case "abc":
                System.out.println("1");
                break;
            case "gaobo":
                System.out.println("2");
                break;
            default:
                System.out.println("输入有误！");
                break;
        }
    }
}


